package cn.zyjblogs.starter.sms.provider;

import cn.zyjblogs.starter.sms.common.SmsEnum;
import cn.zyjblogs.starter.sms.common.SmsRequest;
import cn.zyjblogs.starter.sms.common.SmsResponse;

import java.util.List;

/**
 * @author zhuyijun
 */
public interface SmsGranter {
    /**
     * 获取对应处理器
     * @param typeName
     * @return
     */
    SmsGranter getGranter(SmsEnum typeName);

    /**
     * 短信发送 ，手机号为多个以逗号隔开
     *
     * @param typeName
     * @param phones
     * @param smsRequest
     * @return
     */
    SmsResponse sendSms(SmsEnum typeName, List<String> phones, SmsRequest smsRequest);

    /**
     * 单笔短信发送
     *
     * @param typeName
     * @param phone
     * @param smsRequest
     * @return
     */
    SmsResponse sendSms(SmsEnum typeName, String phone, SmsRequest smsRequest);
}
